package org.fhm.zdte.client.standard;

/**
 * The interface <b>IRequestProxy</b>'s implementation is used to proxy request.
 *
 * @author 谭波
 * @since 2024/1/5
 */
public interface IRequestProxy {

    /**
     * Initialize proxy.
     *
     * @return Proxy.
     */
    IRequestProxy initial();

    /**
     * Enable proxy.
     *
     * @throws Exception is thrown when an error occurs on during enabled proxy.
     */
    void enable() throws Exception;

    /**
     * Close proxy.
     *
     * @throws InterruptedException is thrown when an error occurs on during close proxy.
     */
    void close() throws InterruptedException;

}
